home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / DJGPP / LGP250S1.ZIP / src / libgplus.5 / libgplus / tests / makefile.sh < prev    next >
Makefile  |  1993-09-15  |  5KB  |  173 lines

  1. cat <<'EOF'
  2. # test files
  3. TSRCS =  tObstack.cc tString.cc tInteger.cc tRational.cc \
  4.  tComplex.cc tBitSet.cc tBitString.cc tRandom.cc tList.cc tPlex.cc \
  5.  tLList.cc tVec.cc tStack.cc tQueue.cc tDeque.cc tPQ.cc tSet.cc  tBag.cc \
  6.  tMap.cc tFix.cc tFix16.cc tFix24.cc \
  7.  tCurses.cc tGetOpt.cc \
  8.  tiLList.cc
  9. EOF
  10.  
  11. TESTS1="tObstack tString tInteger tRational tComplex tBitSet tBitString tStack tQueue tDeque tPQ tSet tBag tMap tFix tFix16 tFix24 tList tPlex tLList tVec"
  12. TTESTS="tRandom ${TESTS1} tiLList"
  13.  
  14. cat <<EOF
  15. # executables
  16. TOUTS =  test_h tCurses ${TTESTS} tGetOpt
  17.  
  18. EOF
  19.  
  20. cat <<'EOF'
  21. # files for archived prototype classes
  22. LOBJS = \
  23.  iList.o iSLList.o iDLList.o iVec.o iAVec.o \
  24.  iPlex.o  iFPlex.o  iXPlex.o iRPlex.o iMPlex.o \
  25.  iSet.o iBag.o iMap.o iPQ.o \
  26.  iXPSet.o  iOXPSet.o  iSLSet.o  iOSLSet.o  iBSTSet.o iCHNode.o \
  27.  iAVLSet.o  iSplayNode.o iSplaySet.o  iVHSet.o  iVOHSet.o  iCHSet.o \
  28.  iXPBag.o  iOXPBag.o  iSLBag.o  iOSLBag.o  iSplayBag.o iVHBag.o  iCHBag.o \
  29.  iVHMap.o  iCHMap.o  iSplayMap.o  iAVLMap.o iRAVLMap.o \
  30.  iSplayPQ.o  iPHPQ.o  iXPPQ.o \
  31.  iVStack.o iVQueue.o iStack.o iQueue.o iDeque.o \
  32.  iXPStack.o iSLStack.o iXPQueue.o  iSLQueue.o iXPDeque.o iDLDeque.o
  33.  
  34. LSRCS = \
  35.  iList.cc iSLList.cc iDLList.cc iVec.cc iAVec.cc \
  36.  iPlex.cc  iFPlex.cc  iXPlex.cc iRPlex.cc iMPlex.cc \
  37.  iSet.cc iBag.cc iMap.cc iPQ.cc \
  38.  iXPSet.cc  iOXPSet.cc  iSLSet.cc  iOSLSet.cc  iBSTSet.cc iCHNode.cc \
  39.  iAVLSet.cc  iSplayNode.cc iSplaySet.cc  iVHSet.cc  iVOHSet.cc  iCHSet.cc \
  40.  iXPBag.cc iOXPBag.cc iSLBag.cc iOSLBag.cc  iSplayBag.cc iVHBag.cc iCHBag.cc \
  41.  iVHMap.cc  iCHMap.cc  iSplayMap.cc  iAVLMap.cc iRAVLMap.cc \
  42.  iSplayPQ.cc  iPHPQ.cc  iXPPQ.cc \
  43.  iVStack.cc iVQueue.cc iStack.cc iQueue.cc iDeque.cc \
  44.  iXPStack.cc iSLStack.cc iXPQueue.cc  iSLQueue.cc iXPDeque.cc iDLDeque.cc
  45.  
  46. DEPEND_SOURCES = $(srcdir)/*.cc $(LSRCS)
  47.  
  48. LHDRS =  idefs.h 
  49.  
  50. .PHONY: all
  51. all:
  52.  
  53. .PHONY: info
  54. info:
  55. .PHONY: install-info
  56. install-info:
  57. .PHONY: clean-info
  58. clean-info:
  59.  
  60. .PHONY: check
  61. check: tests
  62.  
  63. .PHONY: check-tGetOpt
  64. EOF
  65.  
  66. for TEST in tRandom ${TESTS1} ; do
  67.   echo ".PHONY: check-${TEST}"
  68.   echo "check-${TEST}: ${TEST}" '$(srcdir)'"/${TEST}.inp"
  69.   echo "    ./${TEST} < "'$(srcdir)'"/${TEST}.inp > ${TEST}.out 2>&1"
  70.   echo '    diff -b $(srcdir)/'"${TEST}.exp ${TEST}.out"
  71. done
  72.  
  73. cat <<'EOF'
  74.  
  75. check-tiLList: tiLList $(srcdir)/tLList.inp
  76.     ./tiLList < $(srcdir)/tLList.inp > tiLList.out 2>&1
  77.     diff -b $(srcdir)/tLList.exp tiLList.out
  78.  
  79. check-tGetOpt: tGetOpt $(srcdir)/tGetOpt.inp
  80.     ./tGetOpt -abc -de10 -2000 -h3i \
  81.       <$(srcdir)/tGetOpt.inp >tGetOpt.out 2>&1
  82.     diff -b $(srcdir)/tGetOpt.exp tGetOpt.out
  83.  
  84. $(TOUTS): $(LIBGXX)
  85.  
  86. LIBTEST=libtest.a
  87.  
  88. # We don't do check-tRandom, because it is not portable.
  89.  
  90. # Comment this out if your compiler doesn't handle templates:
  91. CHECK_TEMPLATES=check-templates
  92.  
  93. tests checktests: clean_tests test_h tCurses \
  94.   check-tObstack check-tString check-tInteger \
  95.   check-tRational check-tComplex check-tBitSet check-tBitString \
  96.   check-tFix check-tFix16 check-tFix24 check-tGetOpt \
  97.   check-tList check-tPlex check-tLList check-tVec \
  98.   check-tStack check-tQueue check-tDeque check-tPQ \
  99.   check-tSet check-tBag check-tMap $(CHECK_TEMPLATES)
  100.     ./test_h
  101.     echo "(Must run tCurses manually from tty)"
  102.  
  103. check-templates: check-tiLList
  104.  
  105. # Build all the tests, but don't run them. (Useful when cross-compiling.)
  106.  
  107. EOF
  108.  
  109. cat <<'EOF'
  110. make-tests: $(TOUTS)
  111.  
  112. test_h: test_h.o
  113.     $(CXX) $(LDFLAGS) test_h.o -o $@ $(LIBS) -lm
  114.     
  115.  
  116.     
  117. $(LIBTEST): $(LHDRS) $(LOBJS)
  118.     rm -f $(LIBTEST)
  119.     $(AR) r $(LIBTEST) $(LOBJS)
  120.     $(RANLIB) $(LIBTEST)
  121.  
  122. #
  123. # other tests
  124. #
  125. EOF
  126.  
  127. LIB_FOR_tRational=-lm
  128. LIB_FOR_tComplex=-lm
  129. LIB_FOR_tInteger=-lm
  130. LIB_FOR_tRandom=-lm
  131. LIB_FOR_tFix=-lm
  132. LIB_FOR_tFix16=-lm
  133. LIB_FOR_tFix24=-lm
  134. LIB_FOR_tCurses="-lcurses -ltermcap"
  135.  
  136. for TEST in twrapper tgwrapper $TTESTS tCurses tGetOpt; do
  137.   echo "${TEST}: " '$(LIBTEST)' " ${TEST}.o"
  138.   echo '    $(CXX) $(LDFLAGS)' "${TEST}.o" '-o $@ $(LIBTEST) $(LIBS)' \
  139.     `eval echo '$LIB_FOR_'$TEST`
  140.   echo ""
  141. done
  142.  
  143. cat <<'EOF'
  144. idefs.h:
  145.     PROTODIR=$(PROTODIR); export PROTODIR; $(GENCLASS) int val defs i
  146. EOF
  147.  
  148. for TEST in Set XPSet OXPSet SLSet OSLSet BSTSet AVLSet SplayNode SplaySet VHSet VOHSet CHSet CHNode Bag XPBag OXPBag SLBag OSLBag SplayBag VHBag CHBag PQ PHPQ SplayPQ XPPQ Stack Queue Deque SLStack SLQueue DLDeque List Plex FPlex XPlex MPlex RPlex FPStack XPStack FPQueue XPQueue XPDeque SLList DLList Vec AVec; do
  149.   echo "i$TEST.h i$TEST.cc:"
  150.   echo '    PROTODIR=$(PROTODIR); export PROTODIR; $(GENCLASS) int val' $TEST i
  151. done
  152.  
  153. for TEST in Map VHMap CHMap SplayMap AVLMap RAVLMap; do
  154.   echo "i${TEST}.h i$TEST.cc:"
  155.   echo '    PROTODIR=$(PROTODIR); export PROTODIR; $(GENCLASS) -2 int val int val' $TEST i
  156. done
  157.  
  158. cat <<'EOF'
  159. iVStack.h iVStack.cc: iStack.h
  160.     PROTODIR=$(PROTODIR); export PROTODIR; $(GENCLASS) int val VStack i
  161. iVQueue.h iVQueue.cc: iQueue.h
  162.     PROTODIR=$(PROTODIR); export PROTODIR; $(GENCLASS) int val VQueue i
  163.  
  164. relink: force
  165.     rm -f $(TOUTS)
  166.  
  167. .PHONY: clean_tests
  168. clean_tests: force
  169.     rm -f *.out
  170.  
  171. force:
  172. EOF
  173.